package a5;

import a5.environment.Environment;
import a5.environment.EnvironmentImpl;
import a5.grammar.grammars.G1;
import a5.grammar.interfaces.Grammar;

import com.google.inject.AbstractModule;

/**
 * Uses the Google Guice framework to create interface bindings required to complete assignment 5. 
 * The {@link #configure()} method specifies which interface implementations to bind at runtime. 
 * 
 * @author Jason Campos
 * @version Assignment 5, CS 152 (Programming Paradigms) Fall 2012, Jeffrey Smith
 */
public class A5Module extends AbstractModule{
	@Override
	protected void configure() {
		bind(Environment.class).to(EnvironmentImpl.class);
		bind(Grammar.class).to(G1.class);
	}
}